home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Floppyshop 2
/
Floppyshop - 2.zip
/
Floppyshop - 2.iso
/
diskmags
/
5791-.end
/
dmg-5873
/
3rdguide
/
prt_4col.lst
< prev
next >
Wrap
File List
|
1993-10-05
|
2KB
|
124 lines
' FULLPAGE ... 160 col. et 100 lignes !!!
' Imprime un fichier texte sur 4 col. de 40 car.
ch$=CHR$(13)+CHR$(27)+"M"+CHR$(15)+CHR$(27)+"A"+CHR$(8)
xprint(ch$)
FILESELECT "\*.*","",f$
IF f$=""
END
ENDIF
OPEN "I",#1,f$
lg%=LOF(#1)
CLOSE #1
DIM tamp(lg%/6+1)
tamp%=VARPTR(tamp(0))
eclaireur%=tamp%
BLOAD f$,tamp%
POKE tamp%+lg%,0
GOTO main
PROCEDURE xprint(ch$)
FOR i=1 TO LEN(ch$)
VOID BIOS(3,0,ASC(MID$(ch$,i,1)))
NEXT i
RETURN
PROCEDURE expcol
REPEAT
REPEAT
car%=PEEK(eclaireur%)
INC eclaireur%
IF car%<>0 AND car%<>10 AND car%<>13
INC col%
ENDIF
UNTIL car%=0 OR car%=13 OR col%=40
IF col%=40 AND PEEK(eclaireur%)=13 AND PEEK(eclaireur%+1)=10
ADD eclaireur%,2
ENDIF
col%=0
INC lin%
UNTIL car%=0 OR lin%=100
lin%=0
RETURN
PROCEDURE spitcar(ptr%)
REPEAT
car%=PEEK(ptr%)
INC ptr%
IF car%<>0 AND car%<>10 AND car%<>13
INC col%
ENDIF
IF car%>=32 THEN
ch$=CHR$(car%)
xprint(ch$)
ELSE
IF car%<>0 AND car%<>10 AND car%<>13
ch$=CHR$(168)
xprint(ch$)
ENDIF
ENDIF
UNTIL car%=0 OR car%=13 OR col%=40
IF col%=40 AND PEEK(ptr%)=13 AND PEEK(ptr%+1)=10
ADD ptr%,2
ENDIF
IF car%=0
ptr%=-1
ENDIF
WHILE col%<40
ch$=" "
xprint(ch$)
INC col%
WEND
col%=0
nouvptr%=ptr%
RETURN
main: ! Boucle principale
DO
col%=0 ! (0 à 39 )*4
lin%=0 ! 0 à 101
ptr1c%=-1
ptr2c%=-1
ptr3c%=-1
ptr4c%=-1
' Initialiser Ptr1c%,Ptr2c%,Ptr3c%,Ptr4c% (=-1 si col. inexistante)
car%=PEEK(eclaireur%)
IF car%<>0
ptr1c%=eclaireur%
@expcol
IF car%<>0
ptr2c%=eclaireur%
@expcol
IF car%<>0
ptr3c%=eclaireur%
@expcol
IF car%<>0
ptr4c%=eclaireur%
@expcol
ENDIF
ENDIF
ENDIF
ENDIF
' Impression d'une page
WHILE ptr1c%<>-1 AND lin%<100
@spitcar(ptr1c%)
ptr1c%=nouvptr%
IF ptr2c%<>-1
@spitcar(ptr2c%)
ptr2c%=nouvptr%
ENDIF
IF ptr3c%<>-1
@spitcar(ptr3c%)
ptr3c%=nouvptr%
ENDIF
IF ptr4c%<>-1
@spitcar(ptr4c%)
ptr4c%=nouvptr%
ENDIF
ch$=CHR$(13)+CHR$(10)
xprint(ch$)
INC lin%
WEND
EXIT IF PEEK(eclaireur%)=0
ALERT 3,"Changement de page",1,"[Prèt ?]",dummy%
LOOP
ch$=CHR$(27)+"@" !reset
xprint(ch$)
ALERT 0,"Fin",1,"[ ... ]",dummy%
END